/*
** Copyright (C) 2010 Calin Radoni
**
** This file is part of CHScanner.
**
** CHScanner is free software: you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation, either version 3 of the License, or
** (at your option) any later version.
**
** CHScanner is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with CHScanner. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

//---------------------------------------------------------------------------

#define CHS_MSG_SCAN_START				WM_USER + 1
#define CHS_MSG_SCAN_DONE				WM_USER + 2
#define CHS_MSG_SCAN_SKIPPED			WM_USER + 3
#define CHS_MSG_SCAN_RANDOMIZE_ADDRLIST WM_USER + 4
#define CHS_MSG_SCAN_SORT_ADDRLIST      WM_USER + 5

#define CHS_MSG_SCANPHASE_START			WM_USER + 6
#define CHS_MSG_SCANPHASE_DONE			WM_USER + 7
#define CHS_MSG_SCANPHASE_FAILED		WM_USER + 8
#define CHS_MSG_SCANPHASE_SKIPPED		WM_USER + 9

#define CHS_MSG_AFTER_PHASE				WM_USER + 10
#define CHS_MSG_LIST_BUILDED			WM_USER + 11

#define CHS_MSG_UPDATE_DATA				WM_USER + 12

#define CHS_MSG_PACKETS_SENT			WM_USER + 13

#define CHS_MSG_METHOD_START			WM_USER + 14
#define CHS_MSG_METHOD_ABORT			WM_USER + 15

#define CHS_MSG_SYSARPTAB_UPDATED		WM_USER + 16

#define CHS_MSG_AUTORUN                 WM_USER + 17
#define CHS_MSG_AUTOCLOSE               WM_USER + 18

#define CHS_MSG_HUNT_MACHINE            WM_USER + 19
#define CHS_MSG_HUNT_INFO               WM_USER + 20

//---------------------------------------------------------------------------

#define MSR_ERR_USER_STOPPED             2
#define MSR_ERR_OK                       1
#define MSR_ERR_SCAN_IN_PROGRESS		-1
#define MSR_ERR_PARAMETER               -2
#define MSR_ERR_FAILED                  -3
#define MSR_ERR_GW_MAC_NOT_FOUND		-4
#define MSR_ERR_MEMORY_ALLOC_ERROR		-5
#define MSR_ERR_PHASE                   -6
#define MSR_ERR_DNS_MAC_NOT_FOUND		-7
#define MSR_ERR_PRIV_ELEVATION          -8
#define MSR_ERR_GET_IP_INTERFACE        -9

//---------------------------------------------------------------------------

#define TIMER_AUTO_PASSIVE              1

//---------------------------------------------------------------------------

#define AUTO_END_SUCCESS                0
#define AUTO_END_INVALID_PARAM          1
#define AUTO_END_INVALID_RUN_TIME       2
#define AUTO_END_COULDNOTSETTIMER       3
#define AUTO_END_COULDNOTLOADFILE       4
#define END_INIT_FAILED                 5
#define AUTO_END_FAILEDTOSCAN           6
#define END_EXPORT_FAILED               7

//---------------------------------------------------------------------------

class ScanMessages
{
public:
	ScanMessages(void);
	~ScanMessages(void);
};
